logo头像
Snippet 博客主题

React Native打包

本文于438天之前发表,文中内容可能已经过时。

前面写了关于React的一系列入门章:http://lib.csdn.net/xiangzhihong8/5375/chart/React%20Native
这里写图片描述
欢迎大家吐槽,今天要说的是在Android和iOS两个平台如何打包的问题。

Android平台打包

Android平台有两种发布方式:一种是借助于命令行操作,另外一种是借助于Android Studio进行发布。

Android Studio平台发布

借助于Android Studio生成签名keystore,然后生成签名包,这和传统的Native开发一样。

这里写图片描述

此时,你会发现,你可以继续生成一个apk,并且可以安装,但是却无法运行,发生闪退。这是因为React-Native的android平台下默认没有生成资源文件也就是我们所有的js图片文件等等。

下面我们就来生成JS Bundle文件:

1,创建一个assets文件

创建一个assets文件在工程目录下,可以通过命令行操作,也可手动,具体的命名是:

1
mkdir -p Android/app/src/main/assets

2,生成Bundle文件

生成Bundle文件的命令:

1
React-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

这里写图片描述

我们已经完全生成了bundle文件了,可以查看自己工程assets下的文件夹,如果生成,则再次签名运行就没有问题。

命令行发布版本

生成签名文件

1
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

修改android/gradle.properties文件

编辑gradle文件,如果没有就创建一个。

1
2
3
4
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

修改签名gradle配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...

生成签名APK包

1
./gradlew assembleRelease

完成之后便会在android/app/build/outputs/apk/app-release.apk生成可安装包。

IOS平台打包

相对于Android平台来讲,IOS平台的发布操作相对简单,只需要简单配置即可。

选择Product ⇒ Archive。

这里写图片描述

等待系统打包,打包出来的即使ipa文件

这里写图片描述

附:http://www.jianshu.com/p/32a99c273be1

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

上一篇